Ambiguity in Natural Language Software Requirements: A Case Study
نویسندگان
چکیده
[Context and motivation] Ambiguous requirements are often seen as a cause for project failure, however there is little empirical data to support this claim. [Question/problem] In this research we study the effect of a highly ambiguous requirements document on project success. [Principal ideas/results] The studied project was a complex data processing system that took about 21 man year to develop. First, we determined the level of ambiguity by three independent tests. Next, we did a root cause analysis on a selection of the main issues to establish if ambiguous requirements were a significant cause. Surprisingly, this case study shows that only one of the examined failures was caused by ambiguous requirements. Both the independent test team and the third party development team found ways to cope with the high level of ambiguity. For the development team this required a substantial investment to clarify requirements. [Contribution] The main contributions of this paper are the counterintuitive findings, the collected empirical data and the method used to collect these data.
منابع مشابه
The Impact of Native Language on Use Case Modeling : A Controlled Experiment
Software development is a collaborative activity where the quality of the end product depends to a great extent on the quality of the requirements engineering process. Hence, the requirements engineering phases are crucial during the development of a software system. If done incorrectly, it may result in incomplete and inadequate system-to-be functionalities. The requirements engineering proces...
متن کاملA Step Towards Ambiguity Less Natural Language Software Requirements Specifications
In modern software engineering practice, the ability to specify ambiguity less software requirements in a natural language (NL) in a seamless way is highly valuable and desirable. Though, the software requirements are typically captured in natural languages (NL) such as English, there is a very high probability that more than half NL requirements can be ambiguous. For example, Mich identified t...
متن کاملAutomated Detection of Language Issues Affecting Accuracy, Ambiguity and Verifiability in Software Requirements Written in Natural Language
Most embedded systems for the avionics industry are considered safety critical systems; as a result, strict software development standards exist to ensure critical software is built with the highest quality possible. One of such standards, DO-178B, establishes a number of properties that software requirements must satisfy including: accuracy, non-ambiguity and verifiability. From a language per...
متن کاملModel Based Test Case Generation From Natural Language Requirements And Inconsistency, Incompleteness Detection in Natural Language Using Model-Checking Approach
Natural language (NL) is any language that arises in an unpremeditated fashion as the result of the innate facility for language possessed by the human intellect. A natural language is typically used for communication, and may be spoken, signed/written. Natural language (NL) is still widely used for developing software requirements specifications or other artifacts created for documenting requi...
متن کاملProcessing Natural Language Software Requirement Specifications
Ambiguity in requirement speciications causes numerous problems; for example in deening cus-tomer/supplier contracts, ensuring the integrity of safety-critical systems, and analysing the implications of system change requests. A direct appeal to formal speciication has not solved these problems, partly because of the restrictiveness and lack of habitability of formal languages. An alternative a...
متن کامل